#include "widget.h"
#include "ui_widget.h"
#include <QTimer>


Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    ui->lcdNumber->display("10");
    timer = new QTimer(this);

    // connect: 哪个控件发出信号，什么信号，哪个控件接收信号，如何处理
//    connect(timer,&QTimer::timeout,this,[=](){
//        int value = ui->lcdNumber->value();
//        if(value <= 0)
//        {
//            timer->stop();
//            return;
//        }
//        ui->lcdNumber->display(value - 1);
//    });

    // 哪个控件接收信号，是哪个信号？看你想要哪个控件接收信号
    // 处理信号函数在Widget中，我们只能使用Widget 接收信号
    // 如果使用的是lambda匿名函数，接收信号写谁都没有关系
    connect(timer,&QTimer::timeout,this,&Widget::handler);

//    connect(timer,&QTimer::timeout,this->lcdNumber,&Widget::handler);

    timer->start(1000);



}

void Widget::handler()
{
    int value = ui->lcdNumber->value();
    if(value <= 0)
    {
        timer->stop();
        return;
    }
    ui->lcdNumber->display(value - 1);
}

Widget::~Widget()
{
    delete ui;
}

